Interactive fabric

ABSTRACT

This document describes techniques using, and objects embodying, an interactive fabric which is configured to sense user interactions in the form of single or multi-touch-input (e.g., gestures). The interactive fabric may be integrated into a wearable interactive garment (e.g., a jacket, shirt, or pants) that is coupled (e.g., via a wired or wireless connection) to a gesture manager. The gesture manager may be implemented at the interactive garment, or remote from the interactive garment, such as at a computing device that is wirelessly paired with the interactive garment and/or at a remote cloud based service. Generally, the gesture manager recognizes user interactions to the interactive fabric, and in response, triggers various different types of functionality, such as answering a phone call, sending a text message, creating a journal entry, and so forth.

RELATED APPLICATIONS

This application claims priority under 35 U.S.C. Section 119(e) to U.S.Provisional Patent Application No. 62/337,281, filed May 16, 2016 andtitled “Interactive Fabric,” the entire disclosure of which is herebyincorporated by reference.

BACKGROUND

Mobile devices, while useful, are not always easy to integrate into reallife. Wearable computing, including smart clothing, may be easier tointegrate into real life uses, but conventional solutions often lackgood functionality, are difficult to manufacture, and may lackdurability.

SUMMARY

This document describes techniques using, and objects embodying, aninteractive fabric which is configured to sense user interactions in theform of single or multi-touch-input (e.g., gestures). The interactivefabric may be integrated into a wearable interactive garment (e.g., ajacket, shirt, or pants) that is coupled (e.g., via a wired or wirelessconnection) to a gesture manager. The gesture manager may be implementedat the interactive garment, or remote from the interactive garment, suchas at a computing device that is wirelessly paired with the interactivegarment and/or at a remote cloud based service. Generally, the gesturemanager recognizes user interactions to the interactive fabric, and inresponse, triggers various different types of functionality, such asanswering a phone call, sending a text message, creating a journalentry, and so forth.

This summary is provided to introduce simplified concepts concerning aninteractive fabric, which is further described below in the DetailedDescription. This summary is not intended to identify essential featuresof the claimed subject matter, nor is it intended for use in determiningthe scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of techniques and devices for an interactive fabric aredescribed with reference to the following drawings. The same numbers areused throughout the drawings to reference like features and components:

FIG. 1 is an illustration of an example environment in which aninteractive fabric can be implemented.

FIG. 2 illustrates an example system in which the interactive fabric maybe implemented.

FIG. 3 illustrates an example of the interactive fabric in accordancewith one or more implementations.

FIG. 4a illustrates an example of a conductive core of a conductivethread in accordance with one or more embodiments.

FIG. 4b illustrates an example of a conductive thread that includes acover layer formed by wrapping flexible threads around a conductivecore.

FIG. 5 illustrates an example of a connector for connecting an externalelectronics module to an interactive garment in accordance with one ormore implementations.

FIG. 6 illustrates an example of the connector when implemented with ananisotropic conducting polymer in accordance with one or moreimplementations.

FIG. 7 illustrates an exploded view of the connector when implementedwith an anisotropic conducting polymer in accordance with one or moreimplementations.

FIG. 8 illustrates an example method of triggering a functionalitythrough interaction with an interactive garment.

FIG. 9 illustrates an example method of performing a functionality thatis triggered by user interaction with an interactive garment.

FIG. 10 which illustrates an example of receiving touch-input to aninteractive fabric in accordance with one or more implementations.

FIG. 11 illustrates various components of an example computing systemthat can be implemented as any type of client, server, and/or computingdevice as described with reference to the previous FIGS. 1-10 toimplement an interactive fabric.

DETAILED DESCRIPTION

Overview

This document describes techniques using, and objects embodying, aninteractive fabric which is configured to sense user interactions in theform of single or multi-touch-input (e.g., gestures). The interactivefabric may be integrated into a wearable interactive garment (e.g., ajacket, shirt, or pants) that is coupled (e.g., via a wired or wirelessconnection) to a gesture manager. The gesture manager may be implementedat the interactive garment, or remote from the interactive garment, suchas at a computing device that is wirelessly paired with the interactivegarment and/or at a remote cloud based service. Generally, the gesturemanager recognizes user interactions to the interactive fabric, and inresponse, triggers various different types of functionality, such asanswering a phone call, sending a text message, creating a journalentry, and so forth.

Notably, therefore, the user is able to trigger various different typesof functionalities through interactions with the interactive garment,such as by touching or swiping the user's shirt sleeve. In addition, byenabling the triggering of functionality through interactions with awearable garment, instead of a device, the user does not need to fiddlearound with the user interface of a smartwatch or smartphone in ordertrigger a functionality. In fact, the user may be able to provide thegesture to the interactive garment without even looking at the garment.In addition, a simple gesture to a garment is discreet and thus enablesthe user to trigger functionalities in a crowded setting without theneed to take out his smartphone or other electronic device.

The interactive garment may include one or more output devices, such aslight sources (e.g., LEDs), speakers, displays (e.g., flexible organicdisplays), shape changing materials, or vibration components. Theseoutput devices can be controlled to provide feedback to the user, suchas by providing a visual, audio, and/or haptic output (e.g., flashinglight, beeping, or vibrating) indicating that a particular userinteraction was detected. In addition, the output devices may becontrolled to provide a notification to the user (e.g., that a textmessage has been received at a smartphone paired with the interactivegarment), such as by flashing, vibrating, or beeping.

To enable the interactive fabric to sense multi-touch-input, aconductive thread is integrated with the fabric (e.g., by weaving theconductive thread into the fabric or by embroidering the conductivethread onto the fabric) to form a capacitive touch sensor that candetect touch-input. Sensing circuitry, which is coupled to theconductive thread, is configured to process the touch-input to generatetouch data that is useable to initiate functionality at the interactivegarment or at various remote devices.

The conductive thread may be custom made using a modified thread or yarnspinning process in which the threads are spun using multiple conductivewires and typical yarn materials such as cotton, polyester, and silk. Inthis way, conventional machinery can be used to create the conductivethreads, which makes the conductive thread easy to manufacture. Theresulting conductive threads can have variable thicknesses, color, andfeel, and can be made to look indistinguishable from ordinary yarns. Theconductive threads have enough conductivity to enable single-endedcapacitive sensing over a range of a few meters and enough mechanicalstrength to survive through fabric weaving processes as well as typicaluse of the interactive garment by users.

In many cases, it may be difficult to integrate bulky electroniccomponents (e.g., batteries, microprocessors, wireless units, andsensors) into the interactive garment, such as a shirt, coat, or pair ofpants. Furthermore, connecting such electronic components to a garmentmay cause issues with durability since garments are often washed. Thus,in one or more implementations, the interactive garment is implementedwith multiple electronics modules. In some cases, the interactivegarment includes at least an internal electronics module containing afirst subset of electronic components for the interactive garment, andan external electronics module containing a second subset of electroniccomponents for the interactive garment. As described herein, theinternal electronics module may be physically and permanently coupled tothe interactive garment, whereas the external electronics module may beremovably coupled to the interactive garment. Thus, instead ofintegrating all of the electronics within the interactive garment, atleast some of the electronics are placed in the external electronicsmodule.

The internal electronics module may contain the sensing circuitry thatis directly coupled to the conductive threads to enable the detection oftouch-input to the interactive fabric, while the external electronicsmodule contains electronic components that are needed to process andcommunicate the touch-input data, such as a microprocessor, a powersource, a network interface, and so forth.

The interactive garment may further include a communication interfaceconfigured to enable communication between the internal electronicsmodule and the external electronics module. In some implementations, thecommunication interface may be implemented as a connector that connectsthe electronic components in the external electronics module to theelectronic components in the internal electronics module to enable thetransfer of power and data between the modules. For example, theconnector may be implemented utilizing pogo pins and may be modeledafter a snap button. The connector may include a connector plug and aconnector receptacle. For example, the connector plug may be implementedat the external electronics module and is configured to connect to theconnector receptacle, which may be implemented at the interactivegarment.

Thus, while the electronic components are separated into multipledifferent modules, the communication interface enables the system tofunction as a single unit. For example, the power source containedwithin the external electronics module may transfer power, via thecommunication interface, to the sensing circuitry of the internalelectronics module to enable the sensing circuitry to detect touch-inputto the conductive thread. When touch-input is detected by the sensingcircuitry of the internal electronics module, data representative of thetouch-input may be communicated, via the communication interface, to themicroprocessor contained within the external electronics module. Themicroprocessor may then analyze the touch-input data to generate one ormore control signals, which may then be communicated to a remotecomputing device (e.g., a smart phone) via the network interface tocause the computing device to initiate a particular functionality.

Separating the electronics of the interactive garment into multipledifferent modules provides a variety of different benefits. For example,the system design enables interoperability and customization because theexternal electronics module can be detached from the interactivegarment, and then attached to a different interactive garment to carryover some of the functions and properties, such as user specificsettings. Additionally, by separating the garment embedded electronicsfrom the external electronics module, users, designers and companies areable to design the external electronics modules in the form factor,mechanical, material and surface finish qualities that are specific tothe application or the user. For example, a leather jacket might have anexternal electronics module that is leather, and in the form of a strapthat matches a certain jacket style, or allows a flexible form factorthat would have been hard to achieve inside a garment.

Furthermore, separating the electronics enable broken parts to be easilyreplaced or serviced without the need to access the entire interactivegarment. For example, the external electronics module can be shipped toa repair service, or a new external electronics module can be purchasedwithout the need to purchase a new interactive garment. In addition,separating the electronic components into internal and external modulesensures that parts such as batteries are not exposes to washing cyclesthat a typical garment would go through. For example, the externalelectronics module, which may include the battery, can easily be removedfrom the interactive garment before washing the interactive garment.Furthermore, by separating parts, the manufacturing challenges aresignificantly simplified and certification processes (such as FCCcertification for RF transmission units) can be handled over the part inquestion, thereby reducing the complexity.

Example Environment

FIG. 1 is an illustration of an example environment 100 in which aninteractive fabric can be implemented. Environment 100 includes aninteractive fabric 102, which is shown as being integrated within aninteractive garment 104, which in this example is illustrated as ajacket. In environment 100, interactive fabric 102 is illustrated asbeing integrated into the sleeve of interactive garment 104. Notably,however, interactive fabric 102 may be integrated at any location oninteractive garment 104. Interactive fabric 102 is a fabric or textilethat is configured to sense multi-touch input. As described herein,interactive fabric 102 may include any type of fabric, textile, orflexible woven material consisting of a network of natural or artificialfibers, often referred to as thread or yarn.

While interactive fabric 102 is illustrated as being integrated within ajacket, it is to be appreciated that interactive fabric 102 may beintegrated within any type of flexible object made from fabric or asimilar flexible material, such as articles of clothing, hats, handbags,blankets, shower curtains, towels, sheets, bed spreads, or fabriccasings of furniture, to name just a few. As discussed in more detailbelow, interactive fabric 102 may be integrated within interactivegarment 104 in a variety of different ways, including weaving, sewing,gluing, and so forth.

Interactive garment 104 is configured to detect user interactions (e.g.,one or more gestures) from a user, and to generate touch data 106representative of the user interactions. Interactive garment 104 mayalso include one or more output devices 103, such as light sources(e.g., LEDs), speakers, displays (e.g., flexible organic displays),shape changing materials, or vibration components. The output devices103 can be controlled to provide feedback to the user, such as byproviding a visual, audio, and/or haptic output (e.g., flashing light,beeping, or vibrating) indicating that a particular user interaction wasdetected. In addition, the output devices 103 may be controlled toprovide a notification to the user, such as by flashing, vibrating, orbeeping to indicate that a text message has been received at asmartphone paired with the interactive garment 104.

In some cases, the interactive garment 104 may include processingcapability to recognize the user interaction, and to initiate aparticular functionality associated with the user interaction. In othercases, the touch data 106, representative of the user interactions, maybe communicated to a computing device 108 via a network 110. Receipt ofthe touch data, causes a gesture manager 112, implemented at computingdevice 108, to analyze the touch data 106 to determine whether the touchdata corresponds to (e.g., is mapped to) a user interaction or gestureto initiate a particular functionality or perform a particularoperation. For example, a user gesture (e.g., a swipe) to interactivefabric 102 can be configured to trigger various types of functionality,such as answering a phone call, saving the user's current geographicallocation, playing a song, and so forth.

In various implementation, gesture manager 112 is configured tointerface with one or more applications 114 and/or services 116, whichmay be implemented at computing device 108, or partially implemented atcomputing device 108 and partially implemented as a remote service(e.g., a cloud-based service) that is remote from computing device 108.Consider, for example, that a fitness-based application 114 may beimplemented at device 108 which is being worn, held, or otherwiseattached to the user (e.g., a smartphone or smartwatch). In this case,the application 114 at the computing device 108 may perform variousfunctions based on the touch data 106, such as logging workout results,nutrition information, and so forth. In addition, the application 114may present a user interface that provides the user's diet and fitnessresults. The application 114 may communicate with a remote service 116,which may store the fitness results, and perform other functions. Byenabling an associated remote service to perform various processingtasks, the system saves processing resources at computing device 108which conserves battery life.

Applications 114 and services 116 may include a variety of differenttypes of applications or services, such as telephone services, messagingservices (e.g., text messaging services, email services), map services,music services, and so forth. In addition, gesture manager 112 isconfigured to enable third-parties to develop applications 114 andservices 116 that can interface with gesture manager 112. For example,gesture manager 112 may provide an infrastructure for developers bybeing configured to recognize various types of interactions withinteractive fabric 102 and/or user contexts. Doing so enables developersto design applications 114 and services 116 to perform various functionsbased on the recognizable user interactions to interactive fabric 102.

Gesture manager 112, applications 114, and services 116, may beimplemented by one or more computing devices, which may be configured ina variety of different ways. A computing device, for instance, may beconfigured as a desktop computer, a laptop computer, a mobile device(e.g., assuming a handheld configuration such as a tablet or mobilephone), and so forth. Thus, a computing device may range from fullresource devices with substantial memory and processor resources (e.g.,personal computers, game consoles) to a low-resource device with limitedmemory and/or processing resources (e.g., mobile devices). Additionally,although a single computing device is described in some instances, thecomputing device may be representative of a plurality of differentdevices, such as multiple servers utilized by a business to performoperations “over the cloud”. In FIG. 1, application 114 is illustratedas being implemented at computing device 108 and service 116 is shown asbeing implemented remote from computing device 108. It is to be noted,however, that in some implementations application 114 may be implementedwithout service 116, or application 114 and service 116 may beimplemented at a single device.

Network 110 includes one or more of many types of wireless or partlywireless communication networks, such as a local-area-network (LAN), awireless local-area-network (WLAN), a personal-area-network (PAN), awide-area-network (WAN), an intranet, the Internet, a peer-to-peernetwork, point-to-point network, a mesh network, and so forth. Further,although a single network 110 is shown, network 110 may also beconfigured to include multiple networks. For example, interactivegarment 104 and computing device 108 may be coupled via a first type ofnetwork 110 (e.g., a Bluetooth® network connection), and computingdevice 108 and service 116 be coupled via a second type of network 110(e.g., the Internet).

In more detail, consider FIG. 2 which illustrates an example system 200in which interactive fabric 102 may be implemented. In system 200,interactive fabric 102 is integrated in interactive garment 104, whichmay be implemented as any type of flexible object (e.g., a jacket,shirt, hat, or handbag).

Interactive fabric 102 is configured to sense multi-touch-input from auser when one or more fingers of the user's hand touch interactivefabric 102. Interactive fabric 102 may also be configured to sensefull-hand touch-input from a user, such as when an entire hand of theuser touches or swipes interactive fabric 102. To enable the detectionof touch-input, interactive fabric 102 includes conductive threads 202,which are integrated into interactive fabric 102 (e.g., by being woveninto, or embroidered onto, interactive fabric 102) to form a touchsensor (e.g., a capacitive touch sensor). Notably, the conductivethreads 202 do not alter the flexibility of interactive fabric 102,which enables interactive fabric 102 to be easily integrated withininteractive garments 104.

In this example, interactive garment 104 includes an internalelectronics module 204 that is embedded within interactive garment 104and is directly coupled to conductive threads 202. Internal electronicsmodule 204 can be communicatively coupled to an external electronicsmodule 206 via a communication interface 208. Internal electronicsmodule 204 contains a first subset of electronic components for theinteractive garment 104, and external electronics module 206 contains asecond, different, subset of electronics components for the interactivegarment 104. As described herein, the internal electronics module 204may be physically and permanently embedded within interactive garment104, whereas the external electronics module 206 may be removablycoupled to interactive garment 104.

In system 200, the electronic components contained within the internalelectronics module 204 includes sensing circuitry 210 that is coupled toconductive thread 202 that is integrated with interactive fabric 102.For example, wires from the conductive threads 202 may be connected tosensing circuitry 210 using flexible PCB, creping, gluing withconductive glue, soldering, and so forth. Sensing circuitry 210 isconfigured to detect user interactions to interactive fabric 102, suchas by detecting the location of the touch-input on conductive thread202, as well as motion of the touch-input. For example, when an object,such as a user's finger, touches conductive thread 202, the position ofthe touch can be determined by sensing circuitry 210 by detecting achange in capacitance on the grid or array of conductive thread 202. Thetouch-input may then be used to generate touch data usable to controlcomputing device 108. For example, the touch-input can be used todetermine various gestures, such as single-finger touches (e.g.,touches, taps, and holds), multi-finger touches (e.g., two-fingertouches, two-finger taps, two-finger holds, and pinches), single-fingerand multi-finger swipes (e.g., swipe up, swipe down, swipe left, swiperight), and full-hand interactions (e.g., touching the interactivefabric with a user's entire hand, covering the interactive fabric withthe user's entire hand, pressing the interactive fabric with the user'sentire hand, palm touches, and rolling, twisting, or rotating the user'shand while touching the interactive fabric).

Communication interface 208 enables the transfer of power and data(e.g., the touch-input detected by sensing circuitry 210) between theinternal electronics module 204 and the external electronics module 206.In some implementations, communication interface 208 may be implementedas a connector that includes a connector plug and a connectorreceptacle. The connector plug may be implemented at the externalelectronics module 206 and is configured to connect to the connectorreceptacle, which may be implemented at the interactive garment 104. Amore-detailed discussion of example connectors is discussed below withregards to FIGS. 5-7.

In system 200, the external electronics module 206 includes amicroprocessor 212, power source 214, and network interface 216. Powersource 214 may be coupled, via communication interface 208, to sensingcircuitry 210 to provide power to sensing circuitry 210 to enable thedetection of touch-input, and may be implemented as a small battery.When touch-input is detected by sensing circuitry 210 of the internalelectronics module 204, data representative of the touch-input may becommunicated, via communication interface 208, to microprocessor 212 ofthe external electronics module 206. Microprocessor 212 may then analyzethe touch-input data to generate touch data 106. Touch data 106 may thenbe communicated to gesture manager 112, which may be implemented atcomputing device 108 (e.g., a smart phone), via the network interface216 to cause gesture manager 112 to initiate a particular functionality.Generally, network interfaces 216 are configured to communicate data,such as touch data 106, over wired, wireless, or optical networks tocomputing devices 108. By way of example and not limitation, networkinterfaces 216 may communicate data over a local-area-network (LAN), awireless local-area-network (WLAN), a personal-area-network (PAN) (e.g.,Bluetooth™), a wide-area-network (WAN), an intranet, the Internet, apeer-to-peer network, point-to-point network, a mesh network, and thelike (e.g., through network 108 of FIG. 1).

While internal electronics module 204 and external electronics module206 are illustrated and described as including specific electroniccomponents, it is to be appreciated that these modules may be configuredin a variety of different ways. For example, in some cases, electroniccomponents described as being contained within internal electronicsmodule 204 may be at least partially implemented at the externalelectronics module 206, and vice versa. Furthermore, internalelectronics module 204 and external electronics module 206 may includeelectronic components other that those illustrated in FIG. 2, such assensors, light sources (e.g., LED's), displays, speakers, vibrationalcomponents, and so forth. In some implementations, all of the electroniccomponents may be integrated within interactive garment 104, in whichcase there would be no external electronics module.

FIG. 3 illustrates an example 300 of interactive fabric 102 inaccordance with one or more implementations. In this example,interactive fabric 102 of the interactive garment 104 includesnon-conductive threads 302 woven with conductive threads 202 to forminteractive fabric 102. Non-conductive threads 302 may correspond to anytype of non-conductive thread, fiber, or fabric, such as cotton, wool,silk, nylon, polyester, cashmere, wool, and so forth. In some cases,rather than weaving conductive threads 202 with non-conductive threads302, the conductive threads may be embroidered onto interactive fabric102.

At 304, a zoomed-in view of conductive thread 202 is illustrated.Conductive thread 202 includes a conductive wire 306 that is twisted,braided, or wrapped with a flexible thread 308. Twisting conductive wire306 with flexible thread 308 causes conductive thread 202 to be flexibleand stretchy, which enables conductive thread 202 to be easily wovenwith non-conductive threads 302 to form interactive fabric 102, orembroidered onto interactive fabric 102.

In one or more implementations, conductive wire 306 is a thin copperwire. It is to be noted, however, that conductive wire 306 may also beimplemented using any type of conductive material, such as silver, gold,materials coated with a conductive polymer, and so forth. Flexiblethread 308 may be implemented as any type of flexible thread or fiber,such as cotton, wool, silk, nylon, or polyester, to name just a few.

In some cases, conductive thread 202 includes a conductive core thatincludes at least one conductive wire 306 (e.g., one or more copperwires) and a cover layer, configured to cover the conductive core, thatis constructed from flexible threads 308. The conductive wire 306 of theconductive core may be insulated or not insulated.

In one or more implementations, the conductive core may be implementedusing a single, straight, conductive wire 306. Alternately, theconductive core may be implemented using a conductive wire 306 and oneor more flexible threads 308. For example, the conductive core may beformed by twisting one or more flexible threads 308 (e.g., silk threads,polyester threads, or cotton threads) with conductive wire 306 (e.g., asshown at 304 of FIG. 3), or by wrapping flexible threads 308 aroundconductive wire 306.

The conductive core may include flexible threads 308 braided withconductive wire 306. As an example, consider FIG. 4a which illustratesan example 400 of a conductive core 402 for a conductive thread inaccordance with one or more implementations. In this example, conductivecore 402 is formed by braiding conductive wire 306 (not pictured) withflexible threads 308. A variety of different types of flexible threads308 may be utilized to braid with conductive wire 306, such as polyesteror cotton, in order to form the conductive core.

In one or more implementations, however, silk threads are used for thebraided construction of the conductive core. Silk threads are slightlytwisted which enables the silk threads to “grip” or hold on toconductive wire 306. Thus, using silk threads may increase the speed atwhich the braided conductive core can be manufactured. In contrast, aflexible thread like polyester is slippery, and thus does not “grip” theconductive wire as well as silk. Thus, a slippery thread may be moredifficult to braid with the conductive wire, which may slow down themanufacturing process.

An additional benefit of using silk threads to create the braidedconductive core is that silk is both thin and strong, which enables themanufacture of a thin conductive core that will not break during theinteraction textile weaving process. A thin conductive core isbeneficial because it enables the manufacturer to create whateverthickness they want for conductive thread 202 (e.g., thick or thin) whencovering the conductive core with the second layer.

After forming the conductive core, a cover layer may be constructed tocover the conductive core. In one or more implementations, the coverlayer is constructed by wrapping flexible threads (e.g., polyesterthreads, cotton threads, wool threads, or silk threads) around theconductive core. As an example, consider FIG. 4b which illustrates anexample 404 of a conductive thread that includes a cover layer formed bywrapping flexible threads around a conductive core. In this example,conductive thread 202 is formed by wrapping flexible threads 308 aroundthe conductive core (not pictured). For example, the cover layer may beformed by wrapping polyester threads around the conductive core atapproximately 1900 turns per yard.

In one or more implementations, the cover layer includes flexiblethreads braided around the conductive core. The braided cover layer maybe formed using the same type of braiding as described above withregards to FIG. 4a . Any type of flexible thread 308 may be used for thebraided cover layer. The thickness of the flexible thread and the numberof flexible threads that are braided around the conductive core can beselected based on the desired thickness of conductive thread 202. Forexample, if conductive thread 202 is intended to be used for denim, athicker flexible thread (e.g., cotton) and/or a greater number offlexible threads may be used to form the cover layer.

In one or more implementations, conductive thread 202 is constructedwith a “double-braided” structure. In this case, the conductive core isformed by braiding flexible threads, such as silk, with a conductivewire (e.g., copper), as described above. Then, the cover layer is formedby braiding flexible threads (e.g., silk, cotton, or polyester) aroundthe braided conductive core. The double-braided structure is strong, andthus is unlikely to break when being pulled during the weaving process.For example, when the double-braided conductive thread is pulled, thebraided structure contracts and forces the braided core of copper tocontract also with makes the whole structure stronger. Further, thedouble-braided structure is soft and looks like normal yarn, as opposedto a cable, which is important for aesthetics and feel.

Conductive wire 306 may be insulated to prevent direct contact betweencrossing conductive threads 202. To do so, conductive wire 306 may becoated with a material such as enamel or nylon. Alternately, rather thaninsulating conductive wire 306, interactive textile may be generatedwith three separate textile layers to ensure that crossing conductivethreads 202 do not make direct contact with each other.

Interactive fabric 102 can be formed cheaply and efficiently, using anyconventional weaving process (e.g., jacquard weaving or 3D-weaving),which involves interlacing a set of longer threads (called the warp)with a set of crossing threads (called the weft). Weaving may beimplemented on a conventional frame or machine known as a loom, of whichthere are a number of types. Thus, a loom can weave non-conductivethreads 302 with conductive threads 202 to create interactive fabric102.

In example 300, conductive thread 202 is woven into interactive fabric102 to form a patch of conductive threads 202. In this example, thepatch of conductive thread 202 is woven into interactive fabric 102 toform a grid that includes a set of substantially parallel conductivethreads 202 and a second set of substantially parallel conductivethreads 202 that crosses the first set of conductive threads to form thegrid. The first set of conductive threads 202 are oriented horizontallyand the second set of conductive threads 202 are oriented vertically,such that the first set of conductive threads 202 are positionedsubstantially orthogonal to the second set of conductive threads 202. Itis to be appreciated, however, that conductive threads 202 may beoriented such that crossing conductive threads 202 are not orthogonal toeach other. For example, the conductive threads 202 may be woven orembroidered in any type of shape or pattern, such as a circle, diamond,hexagon, to name just a few. While conductive threads 202 areillustrated as being spaced out from each other in FIG. 3, it is to benoted that conductive threads 202 may be weaved very closely together.For example, in some cases two or three conductive threads may be weavedclosely together in each direction. Further, in some cases theconductive threads may be oriented as single-dimension sensing linesthat do not cross or intersect with each other.

The patch of conductive thread 202 can be made to be visually ortactilely imperceptible to the user depending on the application andpreferences. For example, in some cases the conductive thread 202 blendsin with the fabric such that users are unable to tell that the patchincludes conductive thread 202. Alternately, the conductive thread canbe made to be visually or tactilely perceptible to users, such that theuser can determine the location of the patch by looking at, or feeling,the conductive thread on interactive fabric 102.

In example 300, sensing circuitry 210 is shown as being integratedwithin interactive garment 104, and is directly connected to conductivethreads 202. During operation, sensing circuitry 210 can determinepositions of touch-input on the grid of conductive thread 202 using avariety of different sensing techniques, such as self-capacitancesensing or projective capacitive sensing.

For example, when configured as a self-capacitance sensor, sensingcircuitry 210 can charge crossing conductive threads 202 (e.g.,horizontal and vertical conductive threads) by applying a control signal(e.g., a sine signal) to each conductive thread 202. When an object,such as the user's finger, touches the grid of conductive thread 202,the conductive threads 202 that are touched are grounded, which changesthe capacitance (e.g., increases or decreases the capacitance) on thetouched conductive threads 202.

Sensing circuitry 210 uses the change in capacitance to identify thepresence of the object. To do so, sensing circuitry 210 detects aposition of the touch-input by detecting which horizontal conductivethread 202 is touched, and which vertical conductive thread 202 istouched by detecting changes in capacitance of each respectiveconductive thread 202. Sensing circuitry 210 uses the intersection ofthe crossing conductive threads 202 that are touched to determine theposition of the touch-input on the grid of conductive threads 202. Forexample, sensing circuitry 210 can determine touch data by determiningthe position of each touch as X,Y coordinates on the grid of conductivethread 202.

When implemented as a self-capacitance sensor, “ghosting” may occur whenmulti-touch-input is received. Consider, for example, that a usertouches the grid of conductive thread 202 with two fingers. When thisoccurs, sensing circuitry 210 determines X and Y coordinates for each ofthe two touches. However, sensing circuitry 210 may be unable todetermine how to match each X coordinate to its corresponding Ycoordinate. For example, if a first touch has the coordinates X1, Y1 anda second touch has the coordinates X4,Y4, sensing circuitry 210 may alsodetect “ghost” coordinates X1, Y4 and X4,Y1.

In one or more implementations, sensing circuitry 210 is configured todetect “areas” of touch-input corresponding to two or more touch-inputpoints on the grid of conductive thread 202. Conductive threads 202 maybe weaved closely together such that when an object touches the grid ofconductive thread 202, the capacitance will be changed for multiplehorizontal conductive threads 202 and/or multiple vertical conductivethreads 202. For example, a single touch with a single finger maygenerate the coordinates X1,Y1 and X2,Y1. Thus, sensing circuitry 210may be configured to detect touch-input if the capacitance is changedfor multiple horizontal conductive threads 202 and/or multiple verticalconductive threads 202. Note that this removes the effect of ghostingbecause sensing circuitry 210 will not detect touch-input if twosingle-point touches are detected which are spaced apart.

Alternately, when implemented as a projective capacitance sensor,sensing circuitry 210 charges a single set of conductive threads 202(e.g., horizontal conductive threads 202) by applying a control signal(e.g., a sine signal) to the single set of conductive threads 202. Then,sensing circuitry 210 senses changes in capacitance in the other set ofconductive threads 202 (e.g., vertical conductive threads 202).

In this implementation, vertical conductive threads 202 are not chargedand thus act as a virtual ground. However, when horizontal conductivethreads 202 are charged, the horizontal conductive threads capacitivelycouple to vertical conductive threads 202. Thus, when an object, such asthe user's finger, touches the grid of conductive thread 202, thecapacitance changes on the vertical conductive threads (e.g., increasesor decreases). Sensing circuitry 210 uses the change in capacitance onvertical conductive threads 202 to identify the presence of the object.To do so, sensing circuitry 210 detects a position of the touch-input byscanning vertical conductive threads 202 to detect changes incapacitance. Sensing circuitry 210 determines the position of thetouch-input as the intersection point between the vertical conductivethread 202 with the changed capacitance, and the horizontal conductivethread 202 on which the control signal was transmitted. For example,sensing circuitry 210 can determine touch data by determining theposition of each touch as X,Y coordinates on the grid of conductivethread 202.

Whether implemented as a self-capacitance sensor or a projectivecapacitance sensor, the conductive thread 202 and sensing circuitry 210is configured to communicate the touch data that is representative ofthe detected touch-input to external electronics module 206, which insome cases may be removably coupled to interactive garment 104 viacommunication interface 208. The microprocessor 212 may then causecommunication of the touch data, via network interface 216, to gesturemanager 112 to enable the gesture manager 112 to determine gesturesbased on the touch data, which can be used to control interactivegarment 104, computing device 108, applications implemented at computingdevice 108, or other computing devices.

Gesture manager 112 can be implemented to recognize a variety ofdifferent types of gestures, such as touches, taps, swipes, holds, andcovers made to interactive fabric 102. To recognize the variousdifferent types of gestures, gesture manager 112 can be configured todetermine a duration of the touch, swipe, or hold (e.g., one second ortwo seconds), a number of the touches, swipes, or holds (e.g., a singletap, a double tap, or a triple tap), a number of fingers of the touch,swipe, or hold (e.g., a one finger-touch or swipe, a two-finger touch orswipe, or a three-finger touch or swipe), a frequency of the touch, anda dynamic direction of a touch or swipe (e.g., up, down, left, right).With regards to holds, gesture manager 112 can also determine an area ofthe conductive thread 202 that is being held (e.g., top, bottom, left,right, or top and bottom. Thus, gesture manager 112 can recognize avariety of different types of holds, such as a cover, a cover and hold,a five finger hold, a five finger cover and hold, a three finger pinchand hold, and so forth.

Notably, there may be a variety of different functionalities that theuser may wish to initiate via a gesture to interactive fabric 102.However, there is a limited number of different gestures that a user canrealistically be expected to remember. Thus, in one or moreimplementations gesture manager 112 is configured to select afunctionality based on both user input to interactive fabric 102 and acontext of the user or computing device 108. The ability to recognizegestures based on context enables the user to invoke a variety ofdifferent functionalities using a subset of gestures. For example, for afirst context, a first gesture may initiate a first functionality,whereas for a second context, the same first gesture may initiate asecond functionality.

In one or more implementations, the context may be determined based ondata detected by other types of sensors. For example, sensors other thanthe interactive fabric 102 may be integrated within interactive garment102, at computing device 108, and/or at another device that iscommunicably coupled to computing device 108. For example, gesturemanager 112 may receive data from a fitness band worn by the user thattracks the number of steps that the user takes. Such sensors mayinclude, by way of example and not limitation, an accelerometer, aninternal measurement unit (IMU), a pedometer, and so forth.

The sensor data may be utilized by gesture manager 112 to determine acontext of the user, such as an activity that the user is currentlyengaged in. For example, data from an IMU or an accelerometer may beutilized by gesture manager 112 to determine that the user is performingan activity such as running, riding a bike, working out, driving a car,and so forth. In this case, gesture manager 112 may initiate differentfunctionalities based on the context. An IMU or integrated sensor couldalso be used to recognize when the interactive garment is being worn, ornot worn, which may also change the resulting functionality.

In some cases, the context of computing device 108 may be based on anapplication that is currently running on computing device 108. Forexample, the context may correspond to listening to music when the useris utilizing a music player application to listen to music, and to“receiving a call” when a call is communicated to computing device 106.In these cases, gesture manager 112 can determine the context bydetermining the application that is currently running on computingdevice 108. Other non-limiting examples of determining context includedetermining the context based on calendar data (e.g., determining theuser is in a meeting based on the user's calendar), determining contextbased on location data, and so forth.

Thus, gesture manager 112 may be implemented to initiate thefunctionality based on the touch-input as well as the context. Forexample, gesture manager 112 can compare a gesture to a mapping thatassigns gestures to different contexts. A given gesture, for example,may be associated with multiple different contexts and associatedfunctionalities. Thus, when a first gesture is received, gesture manager112 may initiate a first functionality if a first context is detected,or initiate a second, different functionality if a second, differentcontext is detected.

In one or more implementations, communication interface 208 isimplemented as a connector that is configured to connect externalelectronics module 206 to internal electronics module 204 of interactivegarment 104. Consider, for example, FIG. 5 which illustrates an example500 of a connector for connecting an external electronics module to aninteractive garment in accordance with one or more implementations. Inexample 500, interactive garment 104 is illustrated as a jacket.

As described above, interactive garment 104 includes an internalelectronics module 204 which include various types of electronics, suchas sensing circuitry 210, sensors (e.g., capacitive touch sensors woveninto the garment, microphones, or accelerometers), output devices 103(e.g., LEDs, display, vibration components, speakers, ormicro-displays), electrical circuitry, and so forth.

External electronics module 206 includes various electronics that areconfigured to connect and/or interface with the electronics of internalelectronics module 204. Generally, the electronics contained withinexternal electronics module 206 are different than those containedwithin internal electronics module 204, and may include electronics suchas microprocessor 212, power source 214 (e.g., a battery), networkinterface 216 (e.g., Bluetooth or WiFi), sensors (e.g., accelerometers,heart rate monitors, or pedometers), and so forth. External electronicsmodule 206 may also include the output devices 103 (not pictured in FIG.2), such as LED's, displays, vibration components, or speakers. In somecases, all of the output devices 103 may be contained in either theinternal electronics module 204 or the external electronics module 106.Alternately, each of the internal electronics module 204 and theexternal electronics module 206 may include at least one outputcomponent 103. For example, the internal electronics module 204 mayinclude an LED, while the external electronics module 206 includes aspeaker.

In this example, external electronics module 206 is implemented as astrap that contains the various electronics. The strap, for example, canbe formed from a material such as rubber, nylon, or any other type offabric. Notably, however, external electronics module 206 may take anytype of form. For example, rather than being a strap, externalelectronics module 206 could resemble a circular or square piece ofmaterial (e.g., rubber or nylon), or a button.

Connector 502 includes a connector plug 504 and a connector receptacle506. In this example, connector plug 504 is positioned on externalelectronics module 206 and is configured to attach to connectorreceptacle 506, which is positioned on interactive garment 104, to forman electronic connection between external electronics module 206 andinteractive garment 104. For example, in FIG. 5, connector receptacle506 is positioned on a sleeve of interactive garment 104, which isillustrated as a jacket.

In various implementations, connector plug 504 may resemble a snap orbutton, and is configured to connect or attach to connector receptacle506 via a magnetic or mechanical coupling. For example, in someimplementations magnets on connector plug 504 and connector receptacle506 cause a magnetic connection to form between connector plug 504 andconnector receptacle 506. Alternately, a mechanical connection betweenthese two components may cause the components to form a mechanicalcoupling, such as by “snapping” together.

Connector 502 may be implemented in a variety of different ways. In oneor more implementations, connector plug 504 includes an anisotropicconducting polymer which is configured to connect to circular pads of aprinted circuit board (PCB) implemented at connector receptacle 506. Inanother implementation, connector plug 504 may include compliantpolyurethane polymers to provide compliance to metal pads implemented atconnector receptacle 506 to enable an electromagnetic connection. Inanother implementation, connector plug 504 and connector receptacle 506may each include magnetically coupled coils which can be aligned toprovide power and data transmission.

FIG. 6 illustrates an example 600 of connector 502 when implemented withan anisotropic conducting polymer in accordance with one or moreimplementations.

At 602, a top side of connector plug 504 is shown. In this case, the topside of connector plug 504 resembles a round, button-like structure.Notably the top side of connector plug 504 may be implemented withvarious different shapes (e.g., square or triangular). Further, in somecases the top side of connector plug 504 may resemble something otherthan a button or snap.

In this example, the top side of connector plug 504 includes tiny holesthat enables light from light sources (e.g., LEDs) to shine through. Ofcourse, other types of input or output units could also be positionedhere, such as a microphone or a speaker.

At 604, a bottom side of connector plug 504 is shown. The bottom side ofconnector plug 504 includes an anisotropic conducting polymer 606 toenable electrical connections between the electronics of interactivegarment 104 and the electronics of external electronics module 206.

In more detail, consider FIG. 7 which illustrates an exploded view 700of connector 502 when implemented with an anisotropic conducting polymerin accordance with one or more implementations.

In this example, connector plug 504 of connector 502 includes a buttoncap 702, a printed circuit board (PCB) 704, anisotropic conductingpolymer 706, a magnet 708, and a casing 710.

Button cap 702 resembles a typical button, and may be made from avariety of different materials, such as plastic, metal, and so forth. Inthis example, button cap 702 includes holes which enable light from LEDsto shine through.

PCB 704 is configured to electrically connect electronics of interactivegarment 104 to anisotropic conducting polymer 706. A top layer of PCB704 may include the LEDs that shine through the holes in button cap 702.A bottom layer of PCB 704 includes contacts which electrically connectto anisotropic conducting polymer 706 positioned beneath PCB 704.

Anisotropic conducting polymer 706 includes a strip of anisotropicmaterial that is configured to form a connection with connectorreceptacle 506. The anisotropic material include any type of anisotropicmaterial.

Magnet 708 is configured to enable a magnetic connection to connectorreceptacle 506. The magnetic connection enables connector plug 504 toattach to connector receptacle 506 without the need to apply force toconnect, which reduces the chance of the connection wearing down overtime. Alternately, in one or more implementations, connector plug 504may be implemented without magnet 708. For example, connector plug 504could be implemented as physical or mechanical snap that snaps toconnector receptacle 506. Casing 710 is configured to hold thecomponents of connector plug 504, and can be implemented from a varietyof different materials such as plastic, metal, and so forth.

In this example, connector receptacle 506 includes a receptacle PCB 712which includes circular pads which are configured to connect toanisotropic conducting polymer 706. The bottom layer of receptacle PCB712 includes connections to the electronics of interactive garment 104.

Connector receptacle may also include a metallic component 714 which isconfigured to generate a magnetic force with magnet 708 of connectorplug 504 to form the magnetic connection between connector plug 504 andconnector receptacle 506. Metallic component 714 may be implemented asany type of metal or alloy, or as another magnet, that can generate amagnetic force with magnet 708. Connector receptacle 506 may alsoinclude other components, such as a housing, a washer, and so forth.

Notably, anisotropic conducting polymer 706 includes various propertieswhich make for a good connector, which include rotational tolerance,mechanical compliance, multi-pin electrical and power transmission, andbeing waterproof.

For instance, when connector plug 504 attaches to connector receptacle506, an electrical connection is formed between anisotropic conductingpolymer 706 and receptacle PCB 712. The anisotropic conducting polymer706 provides rotational tolerance because the strip of anisotropicmaterial can be rotated 360 degrees and maintain the same connection tothe circular pads of receptacle PCB 712. This is beneficial because whenwearing a garment, the strap of external electronics module 206 willnaturally move around. Thus, the rotational tolerance enables theconnector to be rotated without losing the connection between connectorplug 504 and connector receptacle 506. Furthermore, the anisotropicconducting polymer 706 is elastomeric, which causes the strip ofmaterial to shrink and conform under mechanical force.

Anisotropic conducting polymer 706 provides multi-pin electricaltransmissions and power transfer transmissions simultaneously. Forexample, the anisotropic material causes conduction to occur in just onedirection, which means that the conductive paths can operate completelyindependently, without interfering with each other. This enablesmultiple conducting channels, which makes it easy to isolate multipledata lines or power lines from each other using anisotropic conductingpolymer 706 and the circular structure of receptacle PCB 712.

Additionally, anisotropic conducting polymer 706 is waterproof whichprevents connector 502 from being damaged by water, such as when beingworn in the rain or when being washed.

Connector 502 may be implemented in a variety of different ways. In oneor more implementations, instead of using anisotropic conducting polymer706, connector plug 504 may include compliant polyurethane polymers toprovide compliance to metal pads implemented at connector receptacle 506to enable an electromagnetic connection. In another implementation,connector plug 504 and connector receptacle 506 may each includemagnetically coupled coils which can be aligned to provide power anddata transmission between interactive garment 104 and externalelectronics module 206.

Example Methods

FIGS. 8 and 9 illustrate an example method 800 (FIG. 8) of triggering afunctionality through interaction with an interactive garment and anexample method 900 (FIG. 9) of performing a functionality that istriggered by user interaction with an interactive garment. These methodsand other methods herein are shown as sets of blocks that specifyoperations performed but are not necessarily limited to the order orcombinations shown for performing the operations by the respectiveblocks. The techniques are not limited to performance by one entity ormultiple entities operating on one device.

FIG. 8 illustrates an example method 800 of triggering a functionalitythrough interaction with an interactive garment.

At 802, touch-input to an interactive garment is detected. For example,sensing circuitry 210 detects touch-input to the interactive fabric 102which is integrated within interactive garment 104 when an object, suchas a user's finger, touches interactive fabric 102.

As an example, consider FIG. 10 which illustrates an example ofreceiving touch-input to an interactive fabric in accordance with one ormore implementations. At 1002, touch-input is received when a userprovides a single finger touch to interactive fabric 102 of interactivegarment 104. As another example, at 1004, touch-input is received when auser provides a “hold” gesture to interactive fabric 102 by placingtheir hand over interactive fabric 102. Of course, other types oftouch-input may also be received, such as swipes, multi-finger touches,and so forth.

As another example, touch-input can be received when a user provides a“brush in” or “brush out” gesture to interactive fabric 102 by brushingtheir hand over interactive fabric. For example, the user can provide abrush-in gesture by moving their hand upwards over interactive fabricwhen implemented on the cuff of a jacket, or provide a brush-out gestureby moving their hand downwards over interactive fabric when implementedon the cuff of the jacket. As another example, touch-input can receivedwhen a user provides a “double tap” gesture to interactive fabric 102 bydouble tapping interactive fabric 102. As another example, touch-inputcan received when a user provides moves their finger in a particularpattern on the interactive fabric 102, such as by moving their finger ina circle on the interactive fabric 102.

At 804, touch data representative of the touch-input is communicated toa gesture manager to trigger a functionality. For example, sensingcircuitry 210 initiates communication of touch data 106 representativeof the touch-input to gesture manager 112 via network 110, to trigger afunctionality, such as placing a phone call, answering a phone call,declining a phone call, saving the user's current location, and soforth. As an example, the user can provide the brush-in gesture in orderto answer a phone call, and provide the brush-out gesture in order todecline the phone call. As discussed throughout, in some cases, thetouch data 106 may be communicated to gesture manager 112 or anapplication 114 implemented at a device (e.g., the user's smartphone)coupled to interactive fabric 102 (e.g., via a Bluetooth connection).Alternately or additionally, the touch data 106 may be communicated to acloud-based service (e.g., remote service 116) via the Internet.

Optionally, at 806, the interactive garment is controlled to providefeedback indicating detection of the touch-input or triggering of thefunctionality. For example, sensing circuitry 210 can control one ormore output devices 103 to provide feedback indicating the touch-inputwas detected, such as by controlling a light source to blink orcontrolling a vibration component to vibrate. As another example,sensing circuitry 210 can control one or more output device 103 toprovide feedback indicating that a particular function has beentriggered. In FIG. 10, for instance, an LED 1006 is integrated into thesleeve of interactive garment 104, and is controlled to output light(e.g., by blinking) in response to detecting the touch-input or inresponse to confirming that the touch-input caused the particularfunctionality to be triggered.

FIG. 9 illustrates an example method 900 of performing a functionalitythat is triggered by user interaction with an interactive garment.

At 902, touch data is received from an interactive garment worn by auser. For example, gesture manager 112 receives touch data 106 frominteractive garment 104 when user-input is provided to the interactivefabric 102.

At 904, it is determined whether the touch data corresponds to a requestto perform a particular functionality. For example, gesture manager 112determines whether touch data 106 corresponds to a user input or gesturethat is mapped to a particular functionality, such as answering a phonecall, creating a journal entry, and so forth. As described throughout,any type of user input or gesture may be used to trigger thefunctionality, such as swiping, tapping, or holding interactive fabric102. In one or more implementations, gesture manager 112 enablesapplication developers or users to configure the types of user input orgestures that can be used to trigger various different types offunctionalities.

At 906, the functionality is performed. For example, gesture manager 112causes a particular functionality to be performed, such as by answeringa phone call, creating a journal entry, and so forth.

Example Computing System

FIG. 11 illustrates various components of an example computing system1100 that can be implemented as any type of client, server, and/orcomputing device as described with reference to the previous FIGS. 1-10to implement an interactive fabric. In embodiments, computing system1100 can be implemented as one or a combination of a wired and/orwireless wearable device, System-on-Chip (SoC), and/or as another typeof device or portion thereof. Computing system 1100 may also beassociated with a user (e.g., a person) and/or an entity that operatesthe device such that a device describes logical devices that includeusers, software, firmware, and/or a combination of devices.

Computing system 1100 includes communication devices 1102 that enablewired and/or wireless communication of device data 1104 (e.g., receiveddata, data that is being received, data scheduled for broadcast, datapackets of the data, etc.). Device data 1104 or other device content caninclude configuration settings of the device, media content stored onthe device, and/or information associated with a user of the device.Media content stored on computing system 1100 can include any type ofaudio, video, and/or image data. Computing system 1100 includes one ormore data inputs 1106 via which any type of data, media content, and/orinputs can be received, such as human utterances, touch data generatedby interactive fabric 102, user-selectable inputs (explicit orimplicit), messages, music, television media content, recorded videocontent, and any other type of audio, video, and/or image data receivedfrom any content and/or data source.

Computing system 1100 also includes communication interfaces 1108, whichcan be implemented as any one or more of a serial and/or parallelinterface, a wireless interface, any type of network interface, a modem,and as any other type of communication interface. Communicationinterfaces 1108 provide a connection and/or communication links betweencomputing system 1100 and a communication network by which otherelectronic, computing, and communication devices communicate data withcomputing system 1100.

Computing system 1100 includes one or more processors 1110 (e.g., any ofmicroprocessors, controllers, and the like), which process variouscomputer-executable instructions to control the operation of computingsystem 1100 and to enable techniques for, or in which can be embodied,interactive textiles. Alternatively or in addition, computing system1100 can be implemented with any one or combination of hardware,firmware, or fixed logic circuitry that is implemented in connectionwith processing and control circuits which are generally identified at1112. Although not shown, computing system 1100 can include a system busor data transfer system that couples the various components within thedevice. A system bus can include any one or combination of different busstructures, such as a memory bus or memory controller, a peripheral bus,a universal serial bus, and/or a processor or local bus that utilizesany of a variety of bus architectures.

Computing system 1100 also includes computer-readable media 1114, suchas one or more memory devices that enable persistent and/ornon-transitory data storage (i.e., in contrast to mere signaltransmission), examples of which include random access memory (RAM),non-volatile memory (e.g., any one or more of a read-only memory (ROM),flash memory, EPROM, EEPROM, etc.), and a disk storage device. A diskstorage device may be implemented as any type of magnetic or opticalstorage device, such as a hard disk drive, a recordable and/orrewriteable compact disc (CD), any type of a digital versatile disc(DVD), and the like. Computing system 1100 can also include a massstorage media device 1116.

Computer-readable media 1114 provides data storage mechanisms to storedevice data 1104, as well as various device applications 1118 and anyother types of information and/or data related to operational aspects ofcomputing system 1100. For example, an operating system 1120 can bemaintained as a computer application with computer-readable media 1114and executed on processors 1110. Device applications 1118 may include adevice manager, such as any form of a control application, softwareapplication, signal-processing and control module, code that is nativeto a particular device, a hardware abstraction layer for a particulardevice, and so on.

Device applications 1118 also include any system components, engines, ormanagers to implement an interactive fabric. In this example, deviceapplications 1118 include gesture manager 112, application 114, andservice 116.

CONCLUSION

Although embodiments of techniques using, and objects including, aninteractive fabric have been described in language specific to featuresand/or methods, it is to be understood that the subject of the appendedclaims is not necessarily limited to the specific features or methodsdescribed. Rather, the specific features and methods are disclosed asexample implementations of an interactive fabric.

What is claimed is:
 1. An interactive garment comprising: an interactivefabric comprising multiple conductive threads integrated into theinteractive fabric to form a capacitive touch sensor, the multipleconductive threads comprising multiple sets of conductive threads, eachset of the multiple sets of conductive threads comprising two or moreindividual conductive threads oriented together in a same direction; andsensing circuitry coupled to the multiple conductive threads, thesensing circuitry configured to: detect touch-input to at least two ofthe two or more individual conductive threads of a first set of themultiple sets of conductive threads when a user wearing the interactivegarment touches the multiple conductive threads of the interactivegarment, the detected touch-input comprising a change in capacitancesimultaneously in the at least two of the two or more individualconductive threads of the first set of the multiple sets of conductivethreads; process the touch-input to provide touch data; and communicatethe touch data to a gesture manager to cause the gesture manager toinitiate a functionality associated with the touch-input.
 2. Theinteractive garment as recited in claim 1, further comprising a networkinterface, and wherein the touch data is communicated over a wirelessnetwork, via the network interface, to the gesture manager implementedat a remote computing device.
 3. The interactive garment as recited inclaim 1, wherein the multiple conductive threads are woven orembroidered into the interactive fabric.
 4. The interactive garment asrecited in claim 1, further comprising an output device configured toprovide audio, visual, or haptic feedback when the touch-input isdetected.
 5. The interactive garment as recited in claim 4, wherein theoutput device comprises one or more of a light source, a speaker, adisplay, or a vibration component.
 6. The interactive garment as recitedin claim 1, wherein the gesture manager initiates the functionalitybased on the touch-input and sensor data received from one or moresensors integrated at the interactive garment or at a computing devicecoupled to the interactive garment.
 7. The interactive garment asrecited in claim 1, wherein the sensing circuitry is contained within aninternal electronics module that is configured to interface with aremovable electronics module.
 8. The interactive garment as recited inclaim 7, wherein the removable electronics module comprises amicroprocessor, a power source, and a network interface.
 9. Theinteractive garment as recited in claim 1, wherein the two or moreindividual conductive threads of the first set of the multiple sets ofconductive threads are positioned within the interactive garment adistance from two or more individual conductive threads of a second setof the multiple sets of conductive threads, the distance between thefirst set of the multiple sets of conductive threads and the second setof the multiple sets of conductive threads being greater than anotherdistance between the two or more individual conductive threads of thefirst set of the multiple sets of conductive threads.
 10. Theinteractive garment as recited in claim 9, wherein the first set of themultiple sets of conductive threads and the second set of the multiplesets of conductive threads are substantially parallel to one another andwherein the two or more individual conductive threads of the first setof the multiple sets of conductive threads do not cross or intersect thetwo or more individual conductive threads of the second set of themultiple sets of conductive threads.
 11. The interactive garment asrecited in claim 9, wherein an additional conductive thread of themultiple conductive threads is positioned within the interactive garmentto cross: at a same location as the first set of the multiple sets ofconductive threads; or at a same location as the second set of themultiple sets of conductive threads, and wherein the additionalconductive thread does not make direct contact with the first set or thesecond set of the multiple sets of conductive threads, respectively. 12.A system comprising: an interactive garment comprising: multipleconductive threads integrated into the interactive garment, the multipleconductive threads comprising multiple sets of conductive threads, eachset of the multiple sets of conductive threads comprising two or moreindividual conductive threads oriented together in a same direction; aninternal electronics module coupled to the multiple conductive threads,the internal electronics module comprising sensing circuitry configuredto detect touch-input to at least two of the two or more individualconductive treads of a first set of the multiple sets of conductivethreads, the detected touch-input comprising a change in capacitancesimultaneously in the at least two of the two or more individualconductive threads of the first set of the multiple sets of conductivethreads; an external electronics module comprising one or moreelectronic components, the external electronics module removably coupledto the interactive garment; and a communication interface configured toenable communication between the internal electronics module and theexternal electronics module when the external electronics module iscoupled to the interactive garment.
 13. The system of claim 12, whereinthe internal electronics module is permanently coupled to theinteractive garment.
 14. The system of claim 12, wherein the multipleconductive threads are woven or embroidered into the interactivegarment.
 15. The system of claim 12, wherein the electronic componentscontained within the external electronics module comprise: a powersource configured to provide power to the sensing circuitry, via thecommunication interface, to enable the sensing circuitry to detect thetouch-input to the multiple conductive threads; a network interfaceconfigured to enable communication with a remote computing device; and amicroprocessor configured to receive data representative of the detectedtouch-input, via the communication interface, and cause communication ofthe data to the remote computing device via the network interface. 16.The system of claim 12, wherein the communication interface comprises aconnector, the connector comprising: a connector plug implemented at theexternal electronics module; and a connector receptacle implemented atthe interactive garment.
 17. A computer-implemented method comprising:receiving, at a computing device, touch data from an interactive garmentworn by a user, the interactive garment comprising multiple conductivethreads, the multiple conductive threads comprising multiple sets ofconductive threads, each set of the multiple sets of conductive threadscomprising two or more individual conductive threads oriented togetherin a same direction, the touch data comprising a touch-input of the userto at least two of the two or more individual conductive threads of afirst set of the multiple sets of conductive threads, the touch-inputcomprising a change in capacitance simultaneously in the at least two ofthe two or more individual conductive threads of the first set of themultiple sets of conductive threads; determining, at the computingdevice, that the touch data corresponds to a request to perform aparticular functionality; and performing the functionality.
 18. Thecomputer-implemented method of claim 17, wherein the computing device ispaired with the interactive garment via a wireless connection.
 19. Thecomputer-implemented method of claim 17, wherein the performing thefunctionality comprises: determining, by a gesture manager, a gesturebased on the touch data; and communicating the gesture to an applicationto cause the application to perform the functionality based on thegesture.
 20. The computer-implemented method of claim 17, wherein thetouch data is generated at the interactive garment in response to asingle gesture to the interactive garment, and wherein the functionalityis performed without additional user-input other than the single gestureto the interactive garment.